DS18B20测量温度
准备
硬件:
软件:
- uPyCraft IDE
代码位置:
- File → Examples → Measure → ds18b20Demo.py
- 引用模块:uPy_lib → ds18x20.py
实验步骤
1. 硬件连接如下图
2. 下载运行 ds18b20Demo.py 文件,具体代码如下
#硬件平台:FireBeetle-ESP32
#实验效果:这个实验用来测量环境温度。
#硬件连接:本实验需要在IO25外接一个'DS18B20'数字温度传感器。
#下面的信息显示,对于当前版本,ds18b20Demo是可用的。
# IO0 IO2 IO4 IO5 IO9 IO10 IO12~19
# IO21 IO22 IO23 IO25 IO26 IO27
from machine import Pin
import onewire
import ds18x20
import time
ow = onewire.OneWire(Pin(25)) #创建单总线对象
ds = ds18x20.DS18X20(ow) #创建ds18b20对象
while True:
roms=ds.scan() #扫描ds18b20地址
ds.convert_temp() #温度转换
for rom in roms:
print(ds.read_temp(rom)) #温度显示
time.sleep(1)
实验效果
ds18x20.py库API说明
类 — DS18X20
- class DS18X20(object)
类函数
- read_temp(rom=None) 函数功能:读取指定ds18x20设备的温度。
- read_temps() 函数功能:读取所有设备的温度。
- convert_temp() 函数功能:将原始数据转换成温度。